#ifndef _GLSX_COMMON_H_
#define _GLSX_COMMON_H_

#ifdef GlsxCommon_EXPORTS
	#define GlsxCommon_API	__declspec(dllexport)
#else
	#define GlsxCommon_API __declspec(dllimport)
#endif

#include <Windows.h>

#ifdef WINCE

	#if GLSX_DEBUG_ON
		#define GLASSERT ASSERT
	#else
		#define GLASSERT {}
	#endif

#else

	#include <assert.h>

	#if GLSX_DEBUG_ON
		#define GLASSERT assert
	#else
		#define GLASSERT {}
	#endif

#endif

#pragma warning(disable:4251)
#pragma warning(disable:4275)
#pragma warning(disable:4996)



#define BEGIN_GLSX_NAMESPACE namespace Glsx{
#define END_GLSX_NAMESPACE }

#define USE_GLSX_NAMESPACE using namespace Glsx;

#ifdef STATIC_ASSERT
	#undef STATIC_ASSERT
#endif

#define STATIC_ASSERT( condition, name )\
	typedef char assert_failed_ ## name [ (condition) ? 1 : -1 ];



extern CRITICAL_SECTION g_DebugCs;
extern void* g_hDsFile;


#endif